time: 2021.3
# -*- coding: utf-8 -*-
# @Time    : 2021/4/15 16:37
# @Author  : luogan
# @Email   : 468640092@qq.com
# @File    : 密码复杂度验证.py
# @Software: PyCharm.

# 用户密码复杂度验证(封装成函数)
# 长度超过8位（必须)+1分
# 包括大、小写字母.数字.其它符号,以上四种至少三种+1分
# 不能有长度超过或等于3的子串重复+1分
# 密码的评分等级，默认2分，以上条件满足一条加1分
# 返回密码的评分等级，及要改进的点:
# 如return 3,['长度小于8'，'密码没有由3种以上字符组成'"]
fcount = 2
str = input("请输入密码：")
def length():
    global fcount
    if len(str) > 8:
        fcount += 1
    else:
        print("密码长度小于8")
fcount = 2
###############################

def size():
    global fcount
    num1 = 0
    num2 = 0
    num3 = 0
    num4 = 0
    # str = input("请输入密码：")
    for i in range(len(str)):
        if str[i].isdigit():
            num1 = 1
        elif str[i].islower():
            num2 = 1
        elif str[i].isupper():
            num3 = 1
        else:
            num4 = 1
    if num1 + num2 + num3 + num4 >= 3:
        fcount += 1
        return fcount
    else:
        print("没有三种或三种以上字符类型")
        return fcount
fcount = 2
# print(size())
# ##############################
#
# str = input("请输入密码：")
def long3():
    global fcount
    for a in range(len(str)):
        if str.count(str[a:a + 3]) >= 2:
            print("你的密码有长度超过或等于3的子串重复")
            return fcount
        else:
            fcount += 1
            return fcount

fcount = 2
# print(long3())
###############################
# passwd = input("请输入密码：")
size()
length()
long3()
print(fcount)









